package com.baofu.paycore.dal.mapper;

import com.baofu.paycore.dal.model.RefundStrategyModeDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 退款模式配置Mapper
 * <p>
 * 1、
 * </p>
 * User: xin deng  Date: 16/4/21 ProjectName: paycore Version: 1.0
 */
public interface RefundStrategyModeMapper {

    /**
     * 新增退款策略模式信息
     *
     * @param refundStrategyModeDO         新增参数对象
     * @return                               新增记录数
     */
    int insert(RefundStrategyModeDO refundStrategyModeDO);

    /**
     * 更新退款策略信息
     *
     * @param refundStrategyModeDO         更新参数对象
     * @return                               新增记录数
     */
    int update(RefundStrategyModeDO refundStrategyModeDO);

    /**
     * 查询退款策略模式信息
     *
     * @param refundStrategyModeDO        查询参数对象
     * @return                              退款策略信息
     */
    List<RefundStrategyModeDO> selectInfo(RefundStrategyModeDO refundStrategyModeDO);

    /**
     * 分页查询退款策略模式信息
     *
     * @param bean                      查询参数对象
     * @param beginPage                 开始页
     * @param endPage                   结束页
     * @return
     */
    List<RefundStrategyModeDO> selectInfoByPage(@Param("bean")RefundStrategyModeDO bean,
                                                @Param("beginPage") int beginPage,
                                                @Param("endPage") int endPage);

    /**
     * 查询退款策略模式信息总数
     *
     * @param bean                     查询参数对象
     * @return                         总数
     */
    int selectInfoCount(@Param("bean")RefundStrategyModeDO bean);

    /**
     * 删除退款策略模式信息
     *
     * @param updatedBy                 更新人
     * @param id                        记录Id
     * @return                          删除记录数
     */
    int deleteInfo(@Param("updatedBy")String updatedBy,@Param("id") long id);

    /**
     * 查询退款策略模式信息
     *
     * @param refundStrategyMode    退款模式配置
     * @return                      退款策略信息
     */
    List<RefundStrategyModeDO> selectByRefundStrategyMode(@Param("refundStrategyMode") String refundStrategyMode);

}
